home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 064 - Wasteland Side 2.dsk / MONOPOLY EXTRA CONDENSED.bas < prev    next >
BASIC Source File  |  2019-02-17  |  25KB  |  406 lines

  1. 0  PRINT  CHR$(4)"MAXFILES 1"
  2. 1 A$ =  CHR$(4): PRINT A$;"NOMON  C,I,O":B$ =  CHR$(13): PRINT A$;"BLOAD COUNTER2,A8000":B = 8000: POKE 232,B -256 * INT(B/256): POKE 233, INT(B/256): HGR : POKE  -16303,0: HOME : PRINT A$;"BLOAD BOARD2.PIC"
  3. 2  DIM C$(1),A(6),B(6),C(40),D(40),E(6),F(2),G(6),H(40),I(40),D$(40): DIM J(6),K(40),L(40),M(40),N(40),O(40),P(40),Q(40),R(40),S(40),T(40): DIM U(16),V(16),W(6),X(3),Y(3),Z(3),A1(3),B1(3),C1(3),D1(3)
  4. 3  VTAB 3: PRINT "CHOOSE THE GAME YOU WISH TO PLAY?": VTAB 6: PRINT "  1 - CREATED GAME # 1": PRINT : PRINT "  2 - CREATED GAME # 2": PRINT : PRINT "  3 - L. A. LAND MONOPOLY": VTAB 12: HTAB (25): INPUT "CHOICE ?";E: IF E <1  OR E >3  THEN 3
  5. 4  ON E GOSUB 23,24,22
  6. 5  GOSUB 405: VTAB 15: PRINT : INPUT "DO YOU WANT TO PLAY A PREVIOUSLY SAVED  GAME?";C$: PRINT : IF C$ = "Y"  THEN 12
  7. 6  GOSUB 28: PRINT "               OPTIONS": PRINT : INPUT "SHOULD A PLAYER IN PRISON FORFEIT ALL   RIGHTS?";C$: IF C$ = "Y"  THEN F = 1
  8. 7  PRINT : INPUT "SHOULD THERE BE A BONUS FOR LANDING ON  FREE PARKING?";C$: IF C$ = "Y"  THEN G = 1
  9. 8  HOME : VTAB 4: INPUT "HOW MANY PLAYERS? ";H: IF H >6  OR H <2  THEN 8
  10. 9  PRINT : FOR E = 1 TO H
  11. 10  VTAB 5 +E: PRINT "PLAYER ";E;"'S NAME? ";: ON E GOSUB 61,62,63,64,65,66: IF I >10  OR I <1  THEN 10
  12. 11  NEXT E: HOME : POKE  -16304,0: GOTO 13
  13. 12  GOSUB 27: HOME : POKE  -16304,0
  14. 13  IF G = 0  THEN J = 0
  15. 14  VTAB 21:N = 1:O = M: GOTO 34
  16. 15  GOSUB 83: HOME : VTAB 21: PRINT "ANY TRANSACTIONS?";: GET C$: PRINT C$:P =  PEEK( -16384): IF P <127  THEN 16
  17. 16  POKE  -16368,0: IF P = 27  THEN 18
  18. 17  GOTO 21
  19. 18  POKE  -16303,0: POKE 34,0: POKE 35,20: HOME : GOSUB 95: POKE 36,41
  20. 19 P =  PEEK( -16384): GET C$: IF P < >27  THEN 19
  21. 20  POKE  -16368,0: POKE  -16304,0: POKE 35,24: HOME : VTAB 22: PRINT "ANY TRANSACTIONS?";C$
  22. 21  RETURN 
  23. 22  PRINT A$;"OPENDATA1": PRINT A$;"READ DATA1": GOSUB 25: PRINT A$;"CLOSE DATA1": GOTO 5
  24. 23  PRINT A$;"OPENDATA2": PRINT A$;"READ DATA2": GOSUB 25: PRINT A$;"CLOSE DATA2": GOTO 5
  25. 24  PRINT A$;"OPENDATA3": PRINT A$;"READ DATA3": GOSUB 25: PRINT A$;"CLOSE DATA3": GOTO 5
  26. 25  INPUT E$,F$,G$,H$,I$,J$,K$,L$,M$,N$,O$,P$,Q$,R$,S$,T$,U$,V$,W$,X$,Y$,Z$,A1$,B1$,C1$,E1$,F1$,G1$: INPUT I1$,J1$,K1$,L1$,M1$,N1$,O1$,Q1$,H1$,R1$,S1$,T1$,U1$,V1$,X1$,Y1$,Z1$,W1$,A2$,B2$,C2$,E2$,F2$,G2$,H2$,I2$,J2$,K2$
  27. 26  INPUT D0$,D1$,D2$,L2$,M2$,N2$,O2$,Q2$,R2$,S2$,T2$,U2$,V2$: RETURN 
  28. 27  PRINT A$;"OPEN OLDGAME": PRINT A$;"READ OLDGAME": GOSUB 29: PRINT A$;"CLOSE OLDGAME": RETURN 
  29. 28  PRINT A$;"OPEN DATAFILE1": PRINT A$;"READ DATAFILE1": GOSUB 29: PRINT A$;"CLOSE DATAFILE1": RETURN 
  30. 29  INPUT H,M,G,J,Q,R,S,T,U,W,F: INPUT P1$,P2$,W2$,X2$,Y2$,Z2$: FOR E = 1 TO 40: INPUT K(E),L(E),M(E),N(E),O(E),P(E),Q(E),R(E),S(E),T(E),H(E),I(E),C(E),D(E): NEXT E: FOR E = 1 TO 6: INPUT W(E),G(E),E(E),J(E),A(E),B(E): NEXT E: FOR E = 1 TO 16: INPUT U(E),V(E): NEXT E: FOR E = 1 TO 40: IF H(E) = 0  THEN 31
  31. 30 X = H(E) +1:Y = E: ROT= 0: GOSUB 80
  32. 31  NEXT E: RETURN 
  33. 32  PRINT A$;"MON C,I,O": PRINT A$;"DELETE OLDGAME": PRINT A$;"OPEN OLDGAME": PRINT A$;"WRITE OLDGAME": PRINT H,B$,M,B$,G,B$,J,B$,Q,B$,R,B$,S,B$,T,B$,U,B$,W,B$,F: PRINT P1$,B$,P2$,B$,W2$,B$,X2$,B$,Y2$,B$,Z2$: FOR E = 1 TO 40
  34. 33  PRINT K(E),B$,L(E),B$,M(E),B$,N(E),B$,O(E),B$,P(E),B$,Q(E),B$,R(E),B$,S(E),B$,T(E),B$,H(E),B$,I(E),B$,C(E),B$,D(E): NEXT E: FOR E = 1 TO 6: PRINT W(E),B$,G(E),B$,E(E),B$,J(E),B$,A(E),B$,B(E): NEXT E: FOR E = 1 TO 16: PRINT U(E),B$,V(E): NEXT E: PRINT A$;"CLOSE OLDGAME": RETURN 
  35. 34  FOR M = 1 TO H: GOSUB 79: NEXT M
  36. 35  FOR M = 1 TO H: IF N = 1  THEN M = O
  37. 36 N = 0: IF A(M) < >1  THEN B(M) = 0
  38. 37  IF G(M) = 1  THEN 59
  39. 38  IF A(M) < >1  THEN 48
  40. 39 B(M) = B(M) +1: ON M GOSUB 67,68,69,70,71,72: PRINT "YOU ARE IN PRISON"
  41. 40  IF W(M) <1  THEN 42
  42. 41  PRINT "USING FREE GET OUT OF PRISON CARD.": GOSUB 83: GOSUB 226: GOTO 47
  43. 42  INPUT "WILL YOU PAY $50?";C$: IF C$ = "Y"  THEN 46
  44. 43  GOSUB 226: GOSUB 83: IF F(1) = F(2)  THEN 47
  45. 44  IF B(M) <4  THEN 59
  46. 45  PRINT "PAY $50": GOSUB 83
  47. 46  GOSUB 226:J(M) = J(M) -50
  48. 47 B(M) = 0:W(M) = W(M) -1:A(M) = 0: GOSUB 82:E(M) = 11: GOSUB 79: GOTO 49
  49. 48  GOSUB 226
  50. 49 Z = 0: IF F(1) < >F(2)  THEN 52
  51. 50 Z = 1:B(M) = B(M) +1: IF B(M) <3  THEN 52
  52. 51  GOSUB 290: GOTO 59
  53. 52  PRINT "PLAYER: ";: ON M GOSUB 67,68,69,70,71,72: PRINT " $";J(M):A = F(1) +F(2): FOR L = 1 TO A: FOR K = 1 TO 100: NEXT K
  54. 53  GOSUB 79:E(M) = E(M) +1: IF E(M) <41  THEN 55
  55. 54 E(M) = 1: GOSUB 235
  56. 55  GOSUB 79:A1 = 1:I = 20:D = 100: GOSUB 60: NEXT L: ON E(M) GOSUB 236,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299
  57. 56  IF A(M) = 1  THEN 59
  58. 57  IF F(1) < >F(2)  THEN 59
  59. 58  GOTO 37
  60. 59  NEXT M: GOTO 35
  61. 60  FOR B1 = 1 TO A1: POKE 800,I: POKE 801,D: POKE 828,1: CALL 802: FOR C1 = 1 TO 50: NEXT C1: NEXT B1: RETURN 
  62. 61  INPUT P1$:I =  LEN(P1$): RETURN 
  63. 62  INPUT P2$:I =  LEN(P2$): RETURN 
  64. 63  INPUT W2$:I =  LEN(W2$): RETURN 
  65. 64  INPUT X2$:I =  LEN(X2$): RETURN 
  66. 65  INPUT Y2$:I =  LEN(Y2$): RETURN 
  67. 66  INPUT Z2$:I =  LEN(Z2$): RETURN 
  68. 67  PRINT P1$: RETURN 
  69. 68  PRINT P2$: RETURN 
  70. 69  PRINT W2$: RETURN 
  71. 70  PRINT X2$: RETURN 
  72. 71  PRINT Y2$: RETURN 
  73. 72  PRINT Z2$: RETURN 
  74. 73  PRINT P1$;: RETURN 
  75. 74  PRINT P2$;: RETURN 
  76. 75  PRINT : PRINT W2$;: RETURN 
  77. 76  PRINT X2$;: RETURN 
  78. 77  PRINT : PRINT Y2$;: RETURN 
  79. 78  PRINT Z2$;: RETURN 
  80. 79  HCOLOR= 3: ROT= 0: SCALE= 2: XDRAW M +1 AT C(E(M)),D(E(M)): RETURN 
  81. 80  HCOLOR= 2: SCALE= 1: XDRAW X AT C(Y),D(Y): RETURN 
  82. 81  HCOLOR= 2: SCALE= 1: XDRAW M +1 AT C(E(M)),D(E(M)): RETURN 
  83. 82  HCOLOR= 3: SCALE= 2: XDRAW M +1 AT 238,16: RETURN 
  84. 83  FOR C1 = 1 TO 1000: NEXT C1: RETURN 
  85. 84  GOSUB 83:J(M) = J(M) -C: IF J(M) >0  THEN 125
  86. 85  GOSUB 83: PRINT "YOU ARE IN DEBT. YOU MUST SELL OR MORT- GAGE PROPERTY. YOUR CASH IS ";J(M): GOSUB 83: GOTO 125
  87. 86 D1 = 0: RETURN 
  88. 87 D1 = 1: RETURN 
  89. 88 D1 = 2: RETURN 
  90. 89 D1 = 3: RETURN 
  91. 90 D1 = 4: RETURN 
  92. 91 D1 = 5: RETURN 
  93. 92 D1 = 6: RETURN 
  94. 93 D1 = 7: RETURN 
  95. 94 D1 = 8: RETURN 
  96. 95  FOR E = 1 TO 40: IF I(E) = 1  THEN D$(E) = "M"
  97. 96  IF I(E) = 0  THEN D$(E) = ""
  98. 97  NEXT E: PRINT " # PROPERTY OW H HT  # PROPERTY OW H HT": PRINT " 2 ";I1$; TAB( 14);H(2); TAB( 16);Q(2); TAB( 18);R(2); TAB( 20);D$(2); TAB( 21);"22 ";T1$; TAB( 34);H(22); TAB( 36);Q(22); TAB( 38);R(22); TAB( 40);D$(22)
  99. 98  VTAB 3: PRINT " 4 ";J1$; TAB( 14);H(4); TAB( 16);Q(4); TAB( 18);R(4); TAB( 20);D$(4); TAB( 21);"24 ";U1$; TAB( 34);H(24); TAB( 36);Q(24); TAB( 38);R(24); TAB( 40);D$(24): VTAB 4: PRINT " 6 ";F2$; TAB( 14);H(6); TAB( 16);Q(6); TAB( 18);R(6); TAB( 20);D$(6); TAB( 21);"25 ";V1$; TAB( 34);H(25); TAB( 36);Q(25); TAB( 38);R(25); TAB( 40);D$(25)
  100. 99  VTAB 5: PRINT " 7 ";K1$; TAB( 14);H(7); TAB( 16);Q(7); TAB( 18);R(7); TAB( 20);D$(7); TAB( 21);"26 ";H2$; TAB( 34);H(26); TAB( 36);Q(26); TAB( 38);R(26); TAB( 40);D$(26): VTAB 6: PRINT " 9 ";L1$; TAB( 14);H(9); TAB( 16);Q(9); TAB( 18);R(9); TAB( 20);D$(9); TAB( 21);"27 ";X1$; TAB( 34);H(27); TAB( 36);Q(27); TAB( 38);R(27); TAB( 40);D$(27)
  101. 100  VTAB 7: PRINT "10 ";M1$; TAB( 14);H(10); TAB( 16);Q(10); TAB( 18);Q(10); TAB( 20);D$(10); TAB( 21);"28 ";Y1$; TAB( 34);H(28); TAB( 36);Q(28); TAB( 38);R(28); TAB( 40);D$(28): VTAB 8: PRINT "12 ";N1$; TAB( 14);H(12); TAB( 16);Q(12); TAB( 18);R(12); TAB( 20);D$(12); TAB( 21);"29 ";K2$; TAB( 34);H(29); TAB( 36);Q(29); TAB( 38);R(29); TAB( 40);D$(29)
  102. 101  VTAB 9: PRINT "13 ";J2$; TAB( 14);H(13); TAB( 16);Q(13); TAB( 18);R(13); TAB( 20);D$(13); TAB( 21);"30 ";Z1$; TAB( 34);H(30); TAB( 36);Q(30); TAB( 38);R(30); TAB( 40);D$(30): VTAB 10: PRINT "14 ";O1$; TAB( 14);H(14); TAB( 16);Q(14); TAB( 18);R(14); TAB( 20);D$(14); TAB( 21);"32 ";W1$; TAB( 34);H(32); TAB( 36);Q(32); TAB( 38);R(32); TAB( 40);D$(32)
  103. 102  VTAB 11: PRINT "15 ";Q1$; TAB( 14);H(15); TAB( 16);Q(15); TAB( 18);R(15); TAB( 20);D$(15); TAB( 21);"33 ";A2$; TAB( 34);H(33); TAB( 36);Q(33); TAB( 38);R(33); TAB( 40);D$(33): VTAB 12: PRINT "16 ";G2$; TAB( 14);H(16); TAB( 16);Q(16); TAB( 18);R(16); TAB( 20);D$(16); TAB( 21);"35 ";B2$; TAB( 34);H(35); TAB( 36);Q(35); TAB( 38);R(35); TAB( 40);D$(35)
  104. 103  VTAB 13: PRINT "17 ";H1$; TAB( 14);H(17); TAB( 16);Q(17); TAB( 18);R(17); TAB( 20);D$(17); TAB( 21);"36 ";I2$; TAB( 34);H(36); TAB( 36);Q(36); TAB( 38);R(36); TAB( 40);D$(36): VTAB 14: PRINT "19 ";R1$; TAB( 14);H(19); TAB( 16);Q(19); TAB( 18);R(19); TAB( 20);D$(19); TAB( 21);"38 ";C2$; TAB( 34);H(38); TAB( 36);Q(38); TAB( 38);R(38); TAB( 40);D$(38)
  105. 104  VTAB 15: PRINT "20 ";S1$; TAB( 14);H(20); TAB( 16);Q(20); TAB( 18);R(20); TAB( 20);D$(20); TAB( 21);"40 ";E2$; TAB( 34);H(40); TAB( 36);Q(40); TAB( 38);R(40); TAB( 40);D$(40): IF H <5  THEN  PRINT 
  106. 105  FOR E = 1 TO H: ON E GOSUB 73,74,75,76,77,78: PRINT " $";J(E);"   ";: NEXT E
  107. 106  PRINT : PRINT "PARKBONUS $";J;" HOUSES LEFT ";S;" HOTELS ";T: RETURN 
  108. 107 E1 = K(E(M))
  109. 108  IF H(E(M)) = M  THEN  PRINT "YOU LANDED ON YOUR OWN PROPERTY": GOSUB 83: GOTO 125
  110. 109  IF I(E(M)) = 1  THEN  PRINT "PROPERTY MORTGAGED-PAY NO RENT": GOSUB 83: GOTO 125
  111. 110  IF H(E(M)) = 0  THEN 115
  112. 111  IF F = 0  THEN 113
  113. 112  IF A(H(E(M))) = 1  THEN 124
  114. 113  PRINT "PAY $";E1;" RENT TO ";:F1 = H(E(M)): ON F1 GOSUB 67,68,69,70,71,72:A1 = 1:I = 50:D = 100: GOSUB 60:J(M) = J(M) -E1:J(H(E(M))) = J(H(E(M))) +E1: IF J(M) >0  THEN 125
  115. 114  GOTO 85
  116. 115  PRINT "COST=$";T(E(M));: INPUT "    PURCHASE?";C$: IF C$ < >"N"  AND C$ < >"Y"  THEN 115
  117. 116  IF C$ = "N"  THEN 119
  118. 117  IF T(E(M)) >J(M)  THEN 119
  119. 118 H(E(M)) = M:J(M) = J(M) -T(E(M)): GOSUB 81: GOTO 125
  120. 119  INPUT "ANYONE ELSE?";C$: IF C$ < >"N"  AND C$ < >"Y"  THEN 119
  121. 120  IF C$ = "N"  THEN 125
  122. 121  GOSUB 220: GOSUB 218: IF J(G1) -C >0  THEN 123
  123. 122  GOSUB 257: GOTO 120
  124. 123 H(E(M)) = G1:J(G1) = J(G1) -C:X = G1 +1:Y = E(M): GOSUB 80: GOTO 125
  125. 124  PRINT "LANDLORD IS IN PRISON: PAY NO RENT.": GOSUB 83
  126. 125  GOSUB 15: IF C$ = "N"  THEN 209
  127. 126  PRINT "ANY SALES?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 132
  128. 127  GOSUB 224: IF H(Y) < >M  THEN 130
  129. 128  GOSUB 220: GOSUB 218: IF C < = 0  THEN 131
  130. 129 X = M +1: GOSUB 80:H(Y) = G1:X = G1 +1: GOSUB 80:J(G1) = J(G1) - INT(C) -I(Y) *T(Y)/2:J(M) = J(M) + INT(C): GOTO 126
  131. 130  GOSUB 241: GOTO 126
  132. 131  PRINT "NO PURCHASE MADE": GOTO 126
  133. 132  PRINT "ANY PURCHASES?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 140
  134. 133  GOSUB 224: GOSUB 222: IF H(Y) < >H1  THEN 138
  135. 134  GOSUB 218: IF C < = 0  THEN 139
  136. 135 I1 = J(M) -C -I(Y) *T(Y)/2: IF I1 <0  THEN 137
  137. 136 X = H1 +1: GOSUB 80:H(Y) = M:X = M +1: GOSUB 80:J(M) = J(M) - INT(C) -I(Y) *T(Y)/2:J(H1) = J(H1) + INT(C): GOTO 132
  138. 137  GOSUB 257: GOTO 132
  139. 138  GOSUB 242: GOTO 132
  140. 139  PRINT "NO PURCHASE MADE": GOTO 132
  141. 140  PRINT "ANY MORTGAGES?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 150
  142. 141  GOSUB 224: IF H(Y) < >M  THEN 148
  143. 142  IF I(Y) = 1  THEN 149
  144. 143 J1 = Y: GOSUB 251:K1 = D1: FOR Y = 1 TO 40: GOSUB 251: IF D1 < >K1  THEN 145
  145. 144  IF Q(Y) >0  OR R(Y) >0  THEN 147
  146. 145  NEXT Y:I(J1) = 1:J(M) = J(M) +T(J1)/2: IF J(M) >0  THEN 150
  147. 146  PRINT "YOU ARE STILL IN DEBT.YOUR CASH IS ";J(M): GOSUB 83: GOTO 140
  148. 147  PRINT "YOU MUST SELL ALL BUILDINGS ON MONOPOLY TO BANK BEFORE MORTGAGING.": GOTO 178
  149. 148  PRINT "PLAYER DOES NOT OWN BLOCK # ";Y: GOTO 140
  150. 149  PRINT "PROPERTY IS ALREADY MORTGAGED": GOTO 140
  151. 150  PRINT "ANY MORTGAGES PAID?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 158
  152. 151  GOSUB 224: IF H(Y) < >M  THEN 156
  153. 152  IF I(Y) < >1  THEN 157
  154. 153 I1 = J(M) -(1.1 *T(Y)/2): IF I1 <0  THEN 155
  155. 154 I(Y) = 0:J(M) = J(M) -(1.1 *T(Y)/2): GOTO 158
  156. 155  GOSUB 257: GOTO 158
  157. 156  GOSUB 241: GOTO 150
  158. 157  PRINT "PROPERTY IS NOT MORTGAGED": GOTO 150
  159. 158  PRINT "BUY ANY HOUSES OR HOTELS?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 178
  160. 159  GOSUB 237:L1 = 0:H1 = 1:M1 = 1: GOSUB 238: IF L1 = 1  THEN 158
  161. 160  GOSUB 258: IF L1 = 1  THEN 158
  162. 161  GOSUB 249: IF C1(1) = C1(2)  AND C1(2) = C1(3)  THEN 163
  163. 162  GOSUB 252: GOTO 158
  164. 163  IF S >(A1(1) +A1(2) +A1(3))  THEN 166
  165. 164  IF T >(E1(1) +E1(2) +E1(3))  THEN 166
  166. 165  GOSUB 253: GOTO 158
  167. 166  FOR E = 1 TO 3: IF Y(E) <5  AND B1(E) <2  THEN 168
  168. 167  GOSUB 254: GOTO 158
  169. 168  NEXT E: IF X(3) < >0  THEN 171
  170. 169  GOSUB 255: IF  ABS(F1(1) -F1(2)) >1  THEN 177
  171. 170  GOTO 172
  172. 171  GOSUB 255: IF  ABS(F1(1) -F1(2)) >1  OR  ABS(F1(2) -F1(3)) >1  OR  ABS(F1(3) -F1(1)) >1  THEN 177
  173. 172 C = 0: FOR E = 1 TO 3:C = C +(E1(E) *(5 -Q(X(E))) +A1(E)) *S(X(E)): NEXT E: IF J(M) -C >0  THEN 174
  174. 173  GOSUB 257: GOTO 158
  175. 174 J(M) = J(M) -C: FOR E = 1 TO 3:Q(X(E)) = Q(X(E)) +A1(E):R(X(E)) = R(X(E)) +E1(E):S = S -A1(E):T = T -E1(E): IF R(X(E)) = 0  THEN 176
  176. 175 S = S +Q(X(E)):Q(X(E)) = 0
  177. 176  NEXT E: PRINT "PURCHASE MADE": GOTO 178
  178. 177  GOSUB 256: GOTO 158
  179. 178  PRINT "SELL ANY HOUSES OR HOTELS?";: GET C$: PRINT C$: IF C$ < >"Y"  THEN 209
  180. 179  INPUT "DO YOU WANT TO REPLACE A HOTEL WITH A   GROUP OF HOUSES?";C$: IF C$ = "Y"  THEN 191
  181. 180  GOSUB 237:L1 = 0:H1 =  -1:M1 =  -1: GOSUB 238: IF L1 = 1  THEN 178
  182. 181  GOSUB 258: IF L1 = 1  THEN 178
  183. 182  GOSUB 249: IF C1(1) = C1(2)  AND C1(2) = C1(3)  THEN 184
  184. 183  GOSUB 252: GOTO 178
  185. 184  FOR E = 1 TO 3: IF A1(E) >Q(X(E))  OR E1(E) >R(X(E))  THEN 190
  186. 185  NEXT E: IF X(3) < >0  THEN 186
  187. 186  GOSUB 255: IF  ABS(F1(1) -F1(2)) >1  THEN 189
  188. 187  GOTO 188
  189. 188  FOR E = 1 TO 3:J(M) = J(M) +S(X(E)) *(A1(E) +E1(E) *5)/2:Q(X(E)) = Q(X(E)) -A1(E):R(X(E)) = R(X(E)) -E1(E):S = S +A1(E):T = T +E1(E): NEXT E: GOTO 178
  190. 189  GOSUB 256: GOTO 180
  191. 190  PRINT "YOU DON'T OWN THOSE MANY HOUSES OR HOTELS.": GOTO 180
  192. 191  PRINT "ENTER ON THE SAME BLOCK #,THE # OF HOUSES YOUR HOTEL WILL BE REPLACED BY,AND THE SALE OF THE HOTEL.": GOSUB 83: GOSUB 83: GOSUB 237:L1 = 0:H1 = 1:M1 =  -1: GOSUB 238: IF L1 = 1  THEN 178
  193. 192  GOSUB 258: IF L1 = 1  THEN 178
  194. 193  GOSUB 249: IF C1(1) = C1(2)  AND C1(3) = C1(2)  THEN 195
  195. 194  GOSUB 252: GOTO 178
  196. 195  IF S >(A1(1) +A1(2) +A1(3))  THEN 197
  197. 196  GOSUB 253 GOTO 178
  198. 197  FOR E = 1 TO 3: IF E1(E) >R(X(E))  THEN 208
  199. 198  NEXT E: FOR E = 1 TO 3: IF Y(E) >4  OR B1(E) >1  THEN 200
  200. 199  NEXT E: GOTO 201
  201. 200  GOSUB 254: GOTO 178
  202. 201  IF X(3) < >0  THEN 204
  203. 202  GOSUB 255: IF  ABS(F1(1) -F1(2)) >1  THEN 207
  204. 203  GOTO 205
  205. 204  GOSUB 255: IF  ABS(F1(1) -F1(2)) >1  OR  ABS(F1(2) -F1(3)) >1  OR  ABS(F1(3) -F1(1)) >1  THEN 207
  206. 205  FOR E = 1 TO 3:J(M) = J(M) +S(X(E)) *(5 *E1(E) -A1(E))/2:Q(X(E)) = Q(X(E)) +A1(E):R(X(E)) = R(X(E)) -E1(E):S = S -A1(E):T = T +E1(E): NEXT E: PRINT "TRANSACTION COMPLETED": IF J(M) >0 GOTO 209
  207. 206  PRINT "YOU ARE STILL IN DEBT. YOU MUST CONTINUETO SELL OR MORTGAGE PROPERTY. CASH=";J(M): GOSUB 83: GOTO 178
  208. 207  GOSUB 256: GOTO 178
  209. 208  PRINT "YOU DON'T OWN THOSE MANY HOUSES OR HOTELS": GOTO 178
  210. 209  IF Z = 1  THEN  PRINT "READY TO ROLL AGAIN?";: GET C$: PRINT C$: GOTO 211
  211. 210  PRINT "NEXT PLAYER?";: GET C$: PRINT C$
  212. 211  IF C$ = "Q"  THEN  GOSUB 399
  213. 212  IF J(M) > = 0  THEN 214
  214. 213  PRINT "YOU ARE STILL IN DEBT.YOUR CASH IS ";J(M): GOSUB 83: GOTO 125
  215. 214  IF C$ = "S"  THEN 217
  216. 215  IF C$ = "N"  THEN 125
  217. 216  RETURN 
  218. 217  GOSUB 32: PRINT "GAME SAVED": GOTO 209
  219. 218  INPUT "PURCHASE PRICE?";C: IF C <0  THEN 218
  220. 219  RETURN 
  221. 220  INPUT "BUYER'S NUMBER?";G1: IF G1 >H  OR G1 <1  THEN 220
  222. 221  RETURN 
  223. 222  INPUT "SELLER'S NUMBER?";H1: IF H1 >H  OR H1 <1  THEN 222
  224. 223  RETURN 
  225. 224  INPUT "BLOCK NUMBER?";Y: IF Y >40  OR Y <2  THEN 224
  226. 225  RETURN 
  227. 226 A1 = 1:I = 20:D = 110: HCOLOR= 4: FOR E = 101 TO 118: HPLOT 138,E TO 157,E: HPLOT 182,E TO 202,E: NEXT E: HCOLOR= 3: FOR E = 1 TO 2:F(E) =  INT(6 * RND(1)) +1: IF F(E) >1  THEN  GOSUB 232
  228. 227  IF F(E) = 4  OR F(E) = 5  OR F(E) = 6  THEN  GOSUB 233
  229. 228  IF F(E) = 6  THEN  GOSUB 234
  230. 229  IF F(E) = 5  OR F(E) = 3  OR F(E) = 1  THEN  GOSUB 231
  231. 230  NEXT E: RETURN 
  232. 231  HPLOT 102 +45 *E,109: HPLOT 103 +45 *E,109: HPLOT 102 +45 *E,110: HPLOT 103 +45 *E,110: RETURN 
  233. 232  HPLOT 93 +45 *E,101: HPLOT 94 +45 *E,101: HPLOT 93 +45 *E,102: HPLOT 94 +45 *E,102: HPLOT 111 +45 *E,117: HPLOT 112 +45 *E,117: HPLOT 111 +45 *E,118: HPLOT 112 +45 *E,118: RETURN 
  234. 233  HPLOT 93 +45 *E,117: HPLOT 94 +45 *E,117: HPLOT 93 +45 *E,118: HPLOT 94 +45 *E,118: HPLOT 111 +45 *E,101: HPLOT 111 +45 *E,101: HPLOT 111 +45 *E,102: HPLOT 111 +45 *E,102: RETURN 
  235. 234  HPLOT 93 +45 *E,109: HPLOT 94 +45 *E,109: HPLOT 93 +45 *E,110: HPLOT 94 +45 *E,110: HPLOT 111 +45 *E,109: HPLOT 111 +45 *E,110: HPLOT 112 +45 *E,109: HPLOT 112 +45 *E,110: RETURN 
  236. 235  PRINT "PASSING START COLLECT $200":J(M) = J(M) +200: RETURN 
  237. 236  GOTO 125
  238. 237  PRINT "PROPERTY MUST BE DEVELOPED EVENLY. ENTER TRANSACTIONS FOR ALL PROPERTIES IN MONOPOLY. ENTER 0,0,0 FOR THE LAST ENTRY FOR A TWO PROPERTY MONOPOLY.";: GOSUB 83: GOSUB 83: PRINT : RETURN 
  239. 238  PRINT : PRINT : PRINT :X(3) = 1: FOR E = 1 TO 3
  240. 239  VTAB (23): INPUT "BLOCK #?";Y: VTAB (23): HTAB (12): INPUT "# OF HOUSES?";A1(E): VTAB (23): HTAB (27): INPUT "# OF HOTELS?";E1(E): PRINT :D1(E) = Y: IF Y >40  OR Y <0  THEN 246
  241. 240 X(E) = Y:Y(E) = Q(X(E)) +H1 *A1(E):B1(E) = R(X(E)) +M1 *E1(E): IF X(3) = 0  THEN 244
  242. 241  IF H(Y) = M  THEN 243
  243. 242  PRINT "PLAYER DOESN'T OWN BLOCK ";Y:L1 = 1: RETURN 
  244. 243  IF I(Y) = 1  THEN 247
  245. 244  IF E1(E) <2  AND E1(E) > = 0  AND A1(E) <5  AND A1(E) > = 0  THEN 248
  246. 245  PRINT "ILLEGAL # OF HOUSES OR HOTELS: REENTER.": PRINT : GOTO 239
  247. 246  PRINT "ILLEGAL BLOCK #:REENTER LINE AGAIN": PRINT : GOTO 239
  248. 247  PRINT "A MORTGAGE EXISTS ON ";Y:L1 = 1: RETURN 
  249. 248  NEXT E: RETURN 
  250. 249  IF D1(3) = 0  THEN D1(3) = D1(2)
  251. 250  FOR E = 1 TO 3:Y = D1(E): GOSUB 251:C1(E) = D1: NEXT E: RETURN 
  252. 251  ON Y GOSUB 86,87,86,87,86,86,88,86,88,88,86,89,86,89,89,86,90,86,90,90,86,91,86,91,91,86,92,92,86,92,86,93,93,86,93,86,86,94,86,94: RETURN 
  253. 252  PRINT "PROPERTIES ARE NOT PART OF SAME MONOPOLY.": RETURN 
  254. 253  PRINT "HOUSING SHORTAGE: BANK ONLY HAS ";S;" HOUSES AND ";T;" HOTELS FOR SALE.": RETURN 
  255. 254  PRINT "ONLY ALLOWED 4 HOUSES OR 1 HOTEL PER    PROPERTY.": RETURN 
  256. 255  FOR E = 1 TO 3:F1(E) = Y(E) +B1(E): NEXT E: RETURN 
  257. 256  PRINT "PROPERTY IN MONOPOLY MUST BE DEVELOPED  EVENLY.": RETURN 
  258. 257  PRINT "YOU DON'T HAVE ENOUGH MONEY.": RETURN 
  259. 258 L1 = 0: IF X(1) < >X(2)  OR X(2) < >X(3)  OR X(1) < >X(3)  THEN  RETURN 
  260. 259  PRINT "YOU HAVE ENTERED THE SAME BLOCK # TWICE": GOSUB 83:L1 = 1: RETURN 
  261. 260  PRINT E$: GOTO 375
  262. 261  PRINT "CHARITY CAUSE: ":A1 = 3:I = 10:D = 100: GOSUB 60: GOTO 360
  263. 262  PRINT F$: GOTO 375
  264. 263 A1 = 2:I = 10:D = 100: GOSUB 60: PRINT "INCOME TAX. PAY10% OR $200": INPUT "INPUT AMOUNT PAID: 10 OR 200?";N1: GOTO 364
  265. 264  PRINT A1$: GOTO 373
  266. 265  PRINT G$: GOTO 377
  267. 266  PRINT "LUCKY DRAW: ":A1 = 3:I = 10:D = 100: GOSUB 60: GOTO 356
  268. 267  PRINT H$: GOTO 377
  269. 268  PRINT I$: GOTO 377
  270. 269  PRINT "VISITING PRISON": GOTO 125
  271. 270  PRINT J$: GOTO 379
  272. 271  PRINT F1$: GOTO 391
  273. 272  PRINT K$: GOTO 379
  274. 273  PRINT L$: GOTO 379
  275. 274  PRINT B1$: GOTO 373
  276. 275  PRINT M$: GOTO 381
  277. 276  GOTO 261
  278. 277  PRINT N$: GOTO 381
  279. 278  PRINT O$: GOTO 381
  280. 279  PRINT "PARKING LOT:": IF G = 0  THEN  GOTO 125
  281. 280 C =  -J: PRINT " COLLECT $";J:J = 0: GOTO 84
  282. 281  PRINT P$: GOTO 383
  283. 282  GOTO 266
  284. 283  PRINT Q$: GOTO 383
  285. 284  PRINT R$: GOTO 383
  286. 285  PRINT C1$: GOTO 373
  287. 286  PRINT S$: GOTO 385
  288. 287  PRINT T$: GOTO 385
  289. 288  PRINT G1$: GOTO 391
  290. 289  PRINT U$: GOTO 385
  291. 290 A1 = 4:I = 10:D = 100: GOSUB 60: PRINT "GO DIRECTLY TO PRISON. DO NOT PASS START. DO NOT COLLECT $200":A(M) = 1:B(M) = 0: GOSUB 79: GOSUB 82: GOSUB 83: RETURN 
  292. 291  PRINT V$: GOTO 387
  293. 292  PRINT W$: GOTO 387
  294. 293  GOTO 261
  295. 294  PRINT X$: GOTO 387
  296. 295  PRINT E1$: GOTO 373
  297. 296  GOTO 266
  298. 297  PRINT Y$: GOTO 389
  299. 298 A1 = 2:I = 10:D = 100: GOSUB 60: PRINT "LUXURY TAX $75":J(M) = J(M) -75:J = J +75: GOTO 125
  300. 299  PRINT Z$: GOTO 389
  301. 300  PRINT "ADVANCE TOKEN TO ";J$: GOSUB 83: IF E(M) <12  THEN 302
  302. 301  GOSUB 235
  303. 302  GOSUB 79:E(M) = 12: GOSUB 79: GOTO 270
  304. 303  PRINT "ADVANCE TOKEN TO ";Z$: GOSUB 83: GOSUB 79:E(M) = 40: GOSUB 79: GOTO 299
  305. 304  PRINT "GO BACK 3 SPACES": GOSUB 83: GOSUB 79:E(M) = E(M) -3: GOSUB 79: IF E(M) = 5  THEN V = 1
  306. 305  IF E(M) = 20  THEN V = 2
  307. 306  IF E(M) = 34  THEN V = 3
  308. 307  ON V GOTO 263,278,293
  309. 308  PRINT "YOU HAVE BEEN ELECTED CHAIRMAN OF THE   BOARD. PAY EACH PLAYER $50": FOR K = 1 TO H: IF G(K) < >1  THEN J(M) = J(M) -50
  310. 309 J(K) = J(K) +50: NEXT K: GOSUB 83: GOTO 125
  311. 310  PRINT "ADVANCE TO START. COLLECT $200":C =  -200: GOSUB 83: GOSUB 79:E(M) = 1: GOSUB 79: GOTO 84
  312. 311  PRINT "ADVANCE TO NEAREST UTILITY. IF OWNED PAY OWNER 10 TIMES AMOUNT SHOWN ON DICE": GOSUB 83:R = 1: IF E(M) <13  THEN 314
  313. 312  IF E(M) <29  THEN 315
  314. 313  GOSUB 235
  315. 314  GOSUB 79:E(M) = 13: GOSUB 79: GOSUB 83: GOSUB 226: GOTO 271
  316. 315  GOSUB 79:E(M) = 29: GOSUB 79: GOSUB 83: GOSUB 226: GOTO 288
  317. 316  PRINT V2$:C = 15:J = J +15: GOTO 84
  318. 317  PRINT "ADVANCE TO NEAREST ";T2$;" IF OWNED PAY OWNER TWICE RENTAL.": GOSUB 83: GOSUB 79:Q = 2: IF E(M) <6  THEN 322
  319. 318  IF E(M) <16  THEN 323
  320. 319  IF E(M) <26  THEN 324
  321. 320  IF E(M) <36  THEN 325
  322. 321  GOSUB 235
  323. 322 E(M) = 6: GOSUB 79: GOTO 264
  324. 323 E(M) = 16: GOSUB 79: GOTO 274
  325. 324 E(M) = 26: GOSUB 79: GOTO 285
  326. 325 E(M) = 36: GOSUB 79: GOTO 295
  327. 326  PRINT "FREE GET OUT OF PRISON CARD.":W(M) = W(M) +1: GOTO 125
  328. 327  PRINT "GENERAL REPAIRS ON ALL PROPERTY: $25 PER HOUSE, $100 PER HOTEL";:C = 0: FOR K = 1 TO 40: IF H(K) = M  THEN C = C +25 *Q(K) +100 *R(K): NEXT K
  329. 328  PRINT "PAY $ ";C:J = J +C: GOTO 84
  330. 329  PRINT "ADVANCE TOKEN TO ";R$: GOSUB 83: IF E(M) <25  THEN 331
  331. 330  GOSUB 235
  332. 331  GOSUB 79:E(M) = 25: GOSUB 79: GOTO 284
  333. 332  PRINT "BANK PAYS DIVIDEND OF $50":C =  -50: GOTO 84
  334. 333  PRINT "TAKE A RIDE ON THE ";A1$: GOSUB 83: IF E(M) <6  THEN 335
  335. 334  GOSUB 235
  336. 335  GOSUB 79:E(M) = 6: GOSUB 79: GOTO 264
  337. 336  PRINT U2$:C =  -150: GOTO 84
  338. 337  GOSUB 83: GOTO 290
  339. 338  PRINT D1$:C = 50:J = J +50: GOTO 84
  340. 339  PRINT N2$:C = 100:J = J +100: GOTO 84
  341. 340  PRINT O2$:C =  -20: GOTO 84
  342. 341  PRINT Q2$:C =  -50: GOTO 84
  343. 342  PRINT D0$:C = 150:J = J +150: GOTO 84
  344. 343  GOSUB 83: GOTO 290
  345. 344  PRINT S2$;" COLLECT $50 FROM EACH PLAYER.": FOR K = 1 TO H: IF G(M) < >1  THEN J(M) = J(M) +50
  346. 345 J(K) = J(K) -50: NEXT K: GOSUB 83: GOTO 125
  347. 346  PRINT "YOU ARE ASSESSED FOR STREET REPAIRS: $40 PER HOUSE, $110 PER HOTEL":C = 0: FOR K = 1 TO 40: IF H(K) = M  THEN C = C +40 *Q(K) +110 *R(K): NEXT K
  348. 347  PRINT "PAY $ ";C:J = J +C: GOTO 84
  349. 348  PRINT R2$:C =  -45: GOTO 84
  350. 349  PRINT "ADVANCE TO START. COLLECT $200":C =  -200: GOSUB 83: GOSUB 79:E(M) = 1: GOSUB 79: GOTO 84
  351. 350  PRINT M2$:C =  -25: GOTO 84
  352. 351  PRINT "BANK ERROR IN YOUR FAVOR. COLLECT$200":C =  -200: GOTO 84
  353. 352  PRINT L2$;" COLLECT $100":C =  -100: GOTO 84
  354. 353  PRINT "FREE GET OUT OF PRISON CARD":W(M) = W(M) +1: GOTO 125
  355. 354  PRINT D2$:C =  -150: GOTO 84
  356. 355  PRINT "YOU INHERIT $100":C =  -100: GOTO 84
  357. 356 U = U +1: IF U <16  THEN 358
  358. 357 U = 1: FOR E = 1 TO 15:V(E) = 0: NEXT E
  359. 358 E =  INT(15 * RND(1)) +1: IF V(E) = 1  THEN 358
  360. 359 V(E) = 1: ON E GOTO 300,303,304,308,310,311,316,317,326,327,329,332,333,336,337
  361. 360 W = W +1: IF W <17  THEN 362
  362. 361 W = 1: FOR E = 1 TO 16:U(E) = 0: NEXT E
  363. 362 E =  INT(16 * RND(1)) +1: IF U(E) = 1  THEN 362
  364. 363 U(E) = 1: ON E GOTO 338,339,340,341,342,343,344,346,348,349,350,351,352,353,354,355
  365. 364  IF N1 = 200  THEN 372
  366. 365 N1 = 0: FOR E = 1 TO 40: IF H(E) < >M  THEN 371
  367. 366  IF I(E) = 1  THEN 370
  368. 367 N1 = N1 +T(E): IF Q(E) >0  THEN N1 = N1 +Q(E) *S(E)
  369. 368  IF R(E) = 1  THEN N1 = N1 +S(E) *5
  370. 369  GOTO 371
  371. 370 N1 = N1 +(T(E)/2)
  372. 371  NEXT E:N1 =  INT(.10 *(N1 +J(M))): PRINT "PAY $ ";N1;" INCOME TAX":C = N1:J = J +C: GOTO 84
  373. 372 C = 200:J = J +C: GOTO 84
  374. 373 T(E(M)) = 200:O1 = H(E(M)):P1 =  -1: FOR K = 6 TO 36  STEP 10: IF O1 = H(K)  THEN P1 = P1 +1
  375. 374  NEXT K:E1 = Q *(25 *(2 ^P1)):Q = 1: GOTO 108
  376. 375  IF H(2) = H(4)  THEN 393
  377. 376  GOTO 107
  378. 377  IF H(7) = H(9)  AND H(7) = H(10)  THEN 393
  379. 378  GOTO 107
  380. 379  IF H(12) = H(14)  AND H(12) = H(15)  THEN 393
  381. 380  GOTO 107
  382. 381  IF H(17) = H(19)  AND H(17) = H(20)  THEN 393
  383. 382  GOTO 107
  384. 383  IF H(22) = H(24)  AND H(22) = H(25)  THEN 393
  385. 384  GOTO 107
  386. 385  IF H(27) = H(28)  AND H(27) = H(30)  THEN 393
  387. 386  GOTO 107
  388. 387  IF H(32) = H(33)  AND H(32) = H(35)  THEN 393
  389. 388  GOTO 107
  390. 389  IF H(38) = H(40)  THEN 393
  391. 390  GOTO 107
  392. 391 T(E(M)) = 150:E1 = 4 *(F(1) +F(2)): IF H(13) = H(29)  OR R = 1  THEN E1 = (E1 *5)/2
  393. 392 R = 0: GOTO 108
  394. 393 E1 = K(E(M)) *2: IF Q(E(M)) = 1  THEN E1 = L(E(M))
  395. 394  IF Q(E(M)) = 2  THEN E1 = M(E(M))
  396. 395  IF Q(E(M)) = 3  THEN E1 = N(E(M))
  397. 396  IF Q(E(M)) = 4  THEN E1 = O(E(M))
  398. 397  IF R(E(M)) = 1  THEN E1 = P(E(M))
  399. 398  GOTO 108
  400. 399  PRINT : PRINT : PRINT "PLAYER: ";: ON M GOSUB 67,68,69,70,71,72;: PRINT " QUITS GAME"
  401. 400 G(M) = 1:J(M) = 0: FOR Q1 = 1 TO 40: IF H(Q1) < >M  THEN 402
  402. 401 H(Q1) = 0:I(Q1) = 0:X = Q(Q1):S = S +X:Q(Q1) = 0:X = R(Q1):T = T +X:R(Q1) = 0:X = M +1:Y = Q1: GOSUB 80
  403. 402  NEXT Q1: IF A(M) = 1  THEN 404
  404. 403  GOSUB 79: RETURN 
  405. 404  GOSUB 82: RETURN 
  406. 405  POKE 802,173: POKE 803,48: POKE 804,192: POKE 805,173: POKE 806,32: POKE 807,3: POKE 808,32: POKE 809,168: POKE 810,252: POKE 811,173: POKE 812,33: POKE 813,3: POKE 814,208: POKE 815,5: POKE 816,206: POKE 817,60: POKE 818,3: POKE 819,240: POKE 820,6: POKE 821,206: POKE 822,33: POKE 823,3: POKE 824,76: POKE 825,34: POKE 826,3: POKE 827,96: RETURN